{ "cells": [ { "cell_type": "markdown", "id": "0d5468c7-5f9a-4870-856e-420cd4b49cb8", "metadata": {}, "source": [ "# Test to offset a point perpendicalar to a line\n", "O. Kaufmann, 2024." ] }, { "cell_type": "code", "execution_count": 22, "id": "314efdfb-0da0-4248-b2ab-ef11fd2f9140", "metadata": {}, "outputs": [], "source": [ "import geopandas as gpd" ] }, { "cell_type": "code", "execution_count": 28, "id": "428a2c1f-9bdd-4d1c-9ca2-026dbb7aa383", "metadata": {}, "outputs": [], "source": [ "from shapely.geometry import LineString\n", "\n", "a = (0, 0)\n", "b = (15, 7)\n", "cd_length = 6\n", "\n", "ab = LineString([a, b])\n", "left = ab.parallel_offset(cd_length / 2, 'left')\n", "right = ab.parallel_offset(cd_length / 2, 'right')\n", "c = left.boundary.geoms[1]\n", "d = right.boundary.geoms[1]\n", "cd = LineString([c, d])" ] }, { "cell_type": "code", "execution_count": 29, "id": "d5a44979-9865-4802-a845-d5184d464e72", "metadata": {}, "outputs": [], "source": [ "d = {0:{'geometry': ab}, 1:{'geometry': cd}}" ] }, { "cell_type": "code", "execution_count": 30, "id": "9f9fc7f7-8462-4377-a966-8be6ce8468bf", "metadata": {}, "outputs": [], "source": [ "gdf = gpd.GeoDataFrame.from_dict(d, orient='index')" ] }, { "cell_type": "code", "execution_count": 31, "id": "fce4f40e-04d1-4adc-b190-8bd747cb7108", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 31, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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hISEc65diY+PV1JSki2uabn//vs1cOBAPfbYYxozZoy2bNmihQsXauHChVZHa7Ybb7xRjz76qNLT05Wdna0PPvhATz31lO6++26ro12Ur7/+Wp988kn992VlZdq5c6fatm2r9PR0TZ06VbNnz1bnzp2VkZGhWbNmyePxaNSoUdaFbqTzHdtll12m0aNHa8eOHXr77bdVV1dX/zumbdu2atmypVWxG+1C/3Znl6kWLVooNTVVXbt2DXXUJrvQsU2fPl233nqrBg8erOuuu07vvvuu3nrrLa1Zs8a60KdZPbcJlfnz5xvp6elGy5YtjX79+hmbNm2yOpIpJDX49fzzz1sdLSjsNLU1DMN46623jB49ehgul8vo1q2bsXDhQqsjmcLn8xlTpkwx0tPTjbi4OCMzM9P47//+b8Pv91sd7aKsXr26wf8/mzBhgmEYp+a2s2bNMlJSUgyXy2Vcf/31xr59+6wN3UjnO7aysrIf/B2zevVqq6M3yoX+7c4WSVPbxhzbc889Z1x++eVGXFyc0bt3b2PZsmXWBf4eh2FE6FsOAgCAiGT7az4AAEB4oXwAAICQonwAAICQonwAAICQonwAAICQonwAAICQonwAAICQonwAAICQonwAAICQonwAAICQonwAAICQonwAAICQ+v94o8uuq1/0YAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "gdf.plot()" ] }, { "cell_type": "code", "execution_count": 60, "id": "b719bafe-ec21-459c-ab2c-84aaa9fe7023", "metadata": {}, "outputs": [], "source": [ "l = LineString([[0., 4.], [6.,8.], [9., 11.], [11., 14.], [21.,25.], [26., 33.],])" ] }, { "cell_type": "code", "execution_count": 61, "id": "0a071c72-fc6a-4b65-96ab-84a8638a04ac", "metadata": {}, "outputs": [ { "data": { "image/svg+xml": [ "" ], "text/plain": [ "" ] }, "execution_count": 61, "metadata": {}, "output_type": "execute_result" } ], "source": [ "l" ] }, { "cell_type": "code", "execution_count": 62, "id": "a6514bbe-6d13-40f0-ad35-8c07d70d220e", "metadata": {}, "outputs": [], "source": [ "d = 13." ] }, { "cell_type": "code", "execution_count": 64, "id": "c4a2051f-6ad4-4bb3-a62b-2cc9305429e7", "metadata": {}, "outputs": [ { "data": { "text/plain": [ "\u001b[0;31mSignature:\u001b[0m \u001b[0ml\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0minterpolate\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mdistance\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mnormalized\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0;32mFalse\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;31mDocstring:\u001b[0m\n", "Return a point at the specified distance along a linear geometry\n", "\n", "Negative length values are taken as measured in the reverse\n", "direction from the end of the geometry. Out-of-range index\n", "values are handled by clamping them to the valid range of values.\n", "If the normalized arg is True, the distance will be interpreted as a\n", "fraction of the geometry's length.\n", "\n", "Alias of `line_interpolate_point`.\n", "\u001b[0;31mFile:\u001b[0m ~/.local/share/virtualenvs/geometron-VhFx4lLH/lib/python3.10/site-packages/shapely/geometry/base.py\n", "\u001b[0;31mType:\u001b[0m method" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "l.interpolate?" ] }, { "cell_type": "code", "execution_count": null, "id": "91669e1f-accd-4125-8aff-6d66dc5a7f65", "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.13" } }, "nbformat": 4, "nbformat_minor": 5 }